package com.pmenergy.model;

// Generated 15/08/2014 01:13:30 AM by Hibernate Tools 3.4.0.CR1

import java.math.BigDecimal;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.TableGenerator;
import javax.persistence.UniqueConstraint;

/**
 * Empleado generated by hbm2java
 */
@Entity
@Table(name = "EMPLEADO", schema = "TECNOTREE", uniqueConstraints = @UniqueConstraint(columnNames = "USUARIO"))
public class Empleado implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private BigDecimal empleadoId;
	private String nombre;
	private String telefono1;
	private String telefono2;
	private String email;
	private String departamento;
	private String cargo;
	private String usuario;
	private String clave;
	private char estado;
	private Set<Proforma> proformas = new HashSet<Proforma>(0);

	public Empleado() {
	}

	public Empleado(BigDecimal empleadoId, String nombre, String telefono2,
			String departamento, String usuario, String clave, char estado) {
		this.empleadoId = empleadoId;
		this.nombre = nombre;
		this.telefono2 = telefono2;
		this.departamento = departamento;
		this.usuario = usuario;
		this.clave = clave;
		this.estado = estado;
	}

	public Empleado(BigDecimal empleadoId, String nombre, String telefono1,
			String telefono2, String email, String departamento, String cargo,
			String usuario, String clave, char estado, Set<Proforma> proformas) {
		this.empleadoId = empleadoId;
		this.nombre = nombre;
		this.telefono1 = telefono1;
		this.telefono2 = telefono2;
		this.email = email;
		this.departamento = departamento;
		this.cargo = cargo;
		this.usuario = usuario;
		this.clave = clave;
		this.estado = estado;
		this.proformas = proformas;
	}
	@Id	
	@TableGenerator(name = "EVENTO_EMPLEADO",
		    table = "SECUENCIA",
		    pkColumnName = "NOMBRE",
		    valueColumnName = "VALOR",
		    pkColumnValue = "EMPLEADO",
		    allocationSize=1)
	@GeneratedValue(strategy=GenerationType.TABLE,generator = "EVENTO_EMPLEADO")
				
	@Column(name = "EMPLEADO_ID", unique = true, nullable = false, precision = 22, scale = 0)
	public BigDecimal getEmpleadoId() {
		return this.empleadoId;
	}

	public void setEmpleadoId(BigDecimal empleadoId) {
		this.empleadoId = empleadoId;
	}

	@Column(name = "NOMBRE", nullable = false, length = 30)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "TELEFONO1", length = 15)
	public String getTelefono1() {
		return this.telefono1;
	}

	public void setTelefono1(String telefono1) {
		this.telefono1 = telefono1;
	}

	@Column(name = "TELEFONO2", nullable = false, length = 15)
	public String getTelefono2() {
		return this.telefono2;
	}

	public void setTelefono2(String telefono2) {
		this.telefono2 = telefono2;
	}

	@Column(name = "EMAIL", length = 30)
	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	@Column(name = "DEPARTAMENTO", nullable = false, length = 20)
	public String getDepartamento() {
		return this.departamento;
	}

	public void setDepartamento(String departamento) {
		this.departamento = departamento;
	}

	@Column(name = "CARGO", length = 20)
	public String getCargo() {
		return this.cargo;
	}

	public void setCargo(String cargo) {
		this.cargo = cargo;
	}

	@Column(name = "USUARIO", unique = true, nullable = false, length = 20)
	public String getUsuario() {
		return this.usuario;
	}

	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}

	@Column(name = "CLAVE", nullable = false, length = 20)
	public String getClave() {
		return this.clave;
	}

	public void setClave(String clave) {
		this.clave = clave;
	}

	@Column(name = "ESTADO", nullable = false, length = 1)
	public char getEstado() {
		return this.estado;
	}

	public void setEstado(char estado) {
		this.estado = estado;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "empleado")
	public Set<Proforma> getProformas() {
		return this.proformas;
	}

	public void setProformas(Set<Proforma> proformas) {
		this.proformas = proformas;
	}

}
